<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
      /*   Promise.prototype.catch(回调函数)
        描述promise对象状态为rejected的回调执行函数
        catch的使用等同于promise对象.then(undefined,function(){})、promise对象.then(null,function(){}) */
        let p=new Promise(function(resolve,reject){
            reject("哈哈");
        });
        // p.then(function(){},function(data){
        //     console.log(data);
        // });

        // p.catch(function(data){
        //     console.log(data);
        // });

        //promise内部错误不会影响promise外部的代码，通常的说法是promise会吃掉错误(使用catch来捕获)
        p.then(function(){
            console.log("执行了resolve");
        }).catch(function(data){
            console.log(data);
        }).then(function(){
            console.log(11);
            var str=msg;
            console.log(str);
        }).catch(function(e){
            console.log(22);
            console.log(e);
        });
        var i=90;
        console.log(i);
    </script>
</body>
</html>